/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import java.util.Calendar;
import java.util.List;

/**
 *
 * @author Marcel
 */
public class Gerente extends Usuario {

    public Gerente () {
        sistema = Sistema.getInstance();
    }

    public void vendeIngresso(int idEvento, int numLugar) {
        
    }
    
    public Gerente usuarioToGerente (Usuario u) {
        Gerente g = new Gerente();
        g.setNome(u.getNome());
        g.setLogin(u.getLogin());
        g.setSenha(u.getSenha());
        g.setCargo(Cargo.GERENTE);
        return g;
    }


//    public void registraEvento(String nome, List<Artista> artistas, float precoIngresso, int qtdTotalIngressos, Calendar data,
//            Horario horaInicioEvento, Horario horaInicioAdm, Horario horaFinalEvento,
//            Horario horaFinalAdm, Horario horarioAberturaPortoes, TipoEvento tipoEvento, Produtor produtor,
//            float valorDoAluguel, float porcentagemVendaIngressos, TipoAcomocadao tipoAcomocadao, float precoEstacionamento) {
//
//        Evento evento = new Evento(nome, artistas, precoIngresso, qtdTotalIngressos, data, horaInicioEvento, horaInicioAdm, horaFinalEvento, horaFinalAdm, horarioAberturaPortoes, tipoEvento, produtor, valorDoAluguel, porcentagemVendaIngressos, tipoAcomocadao, precoEstacionamento);
//        sistema.addEvento(evento);
//    }
    
    public void cadastraUsuario (Usuario u) {
        sistema.addUsuario(u);
    }

    public void cancelaEvento(int id) {
        Evento evento = sistema.getEvento(id);
        evento.cancelaEvento();
    }

    public void calculaLucroTotal(int id) {
        sistema.getEvento(id).calculaLucro();
    }

    
    public boolean registraEvento (Evento e) {
        return sistema.registraEvento(e);
    }

    public void removerUsuario(Usuario u) {
        sistema.removerUsuario(u);
    }

    public void cancelarEvento(Evento evento) {
        evento.setCancelado(true);
    }
    
    public boolean cancelaIngressoCadeira(Evento evento, String fileira, String numero) {
        return super.getFuncoesIngresso().cancelaIngressoCadeira(evento, fileira, numero);
    }
    
    public boolean cancelaIngressoEmPe(Evento evento, char setor) {
        return super.getFuncoesIngresso().cancelaIngressoEmPe(evento, setor);
    }
    
    public boolean verificaDisponibilidadeCadeira(Evento e, String numero, String fileira) {
        return super.getFuncoesIngresso().verificaDisponibilidadeCadeira(e, numero, fileira);
    }
    
    public boolean vendeIngressoEmPe(Evento evento, char setor) {
        return super.getFuncoesIngresso().vendeIngressoEmPe(evento, setor);
    }
    
    public boolean vendeIngressoCadeira(Evento e, String numero, String fileira) {
        return super.getFuncoesIngresso().vendeIngressoCadeira(e, numero, fileira);
    }
    
}
